﻿<!--
//*********************************************************
//
// Copyright (c) Microsoft. All rights reserved.
// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************
-->
<common:SharePage
    x:Class="ShareSource.ShareDelayRenderedFiles"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ShareSource"
    xmlns:common="using:SDKTemplate.Common"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid x:Name="LayoutRoot" Background="White" HorizontalAlignment="Left" VerticalAlignment="Top">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid x:Name="Input" Grid.Row="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <StackPanel HorizontalAlignment="Left">
                <TextBlock TextWrapping="Wrap" HorizontalAlignment="Stretch" MaxWidth="500" Style="{StaticResource BasicTextStyle}">
                    Sometimes you may want provide content in a different format or size for sharing. However, you may not want to do the work to prepare content for sharing until the target app actually requests it. In such cases, you should use delayed rendering.
                    <LineBreak/><LineBreak/> To demonstrate, please choose an image to be shared. When data is requested by the target app, the image will be resized by the source app. Since image manipulation may take some time, the image processing is deferred until it's requested by the target app.
                    <LineBreak/>
                </TextBlock>
                <Button x:Name="SelectImageButton" Content="Select image" Margin="0,0,10,0" Click="SelectImageButton_Click" />
                <StackPanel x:Name="ShareStep" Visibility="Collapsed" HorizontalAlignment="Left">
                    <TextBlock Style="{StaticResource BasicTextStyle}" HorizontalAlignment="Stretch" MaxWidth="500" TextWrapping="Wrap" TextAlignment="Left">
                        <LineBreak/>To share, bring up the charms bar and select Share (or press Win+H).<LineBreak/>
                        <LineBreak/>You can also invoke share programmatically after prompting the user in response to an event
                        (e.g. Your high score is 687 points. Do you want to share it now?)
                    </TextBlock>
                    <Button x:Name="ShowUIButton" Content="Share" Margin="0,10,0,0" Click="ShowUIButton_Click" />
                </StackPanel>
            </StackPanel>
        </Grid>

        <Grid x:Name="Output" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="1">
            <Image x:Name="ImageHolder" AutomationProperties.Name="A placeholder image" Source="Assets/placeholder-sdk.png" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top"/>
        </Grid>
        
        <!-- Add Storyboards to the visual states below as necessary for supporting the various layouts -->
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState x:Name="FullScreenLandscape"/>
                <VisualState x:Name="Filled"/>
                <VisualState x:Name="FullScreenPortrait"/>
                <VisualState x:Name="Snapped"/>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
    </Grid>
</common:SharePage>
